home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / bufprn.arc / PFLUSH.C < prev    next >
Encoding:
C/C++ Source or Header  |  1985-02-15  |  768 b   |  28 lines

  1. /* file:  pflush.c -- flush the buffered printer's buffer */
  2. #include <stdio.h>
  3. main()
  4. {
  5. struct    {unsigned ax,bx,cx,dx,si,di,ds,es;} rrv;
  6. char    *flush_cmd = "\x1b\xff";
  7.  
  8.     rrv.ax = 0x4400;
  9.     rrv.bx = 4;                /* stdprn */
  10.     sysint21(&rrv, &rrv);
  11.     if ((rrv.dx & 0x4000) == 0)
  12.     {
  13.         fputs("Device doesn't handle IOCTL\n", stderr);
  14.         exit(1);
  15.     }
  16.     rrv.ax = 0x4403;        /* write ioctl information */
  17.     rrv.bx = 4;                /* stdprn */
  18.     rrv.dx = flush_cmd;
  19.     segread(&rrv.si);        /* set up DS */
  20.     rrv.cx = 2;                /* just two bytes */
  21.     if (sysint21(&rrv, &rrv)&1)
  22.     {
  23.         fputs("Flush call failed\n", stderr);
  24.         exit(1);
  25.     }
  26.     puts("Buffer flushed");
  27. }
  28.